﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Microsoft.Practices.Unity;
using Praxis.Entities;
using Praxis.BusinessLogic;

namespace Praxis.UI
{
    public partial class FrmMttoEquipo : Form
    {
        [Dependency]
        public IEquipoBL equipoBL { get; set; }

        bool bandera;

        public FrmMttoEquipo()
        {
            InitializeComponent();
            this.BuildUp();

            tipoEquipoBindingSource.Add(new Utils.TipoEquipo() { Value="EQ",Descripcion="EQUIPO" });
            tipoEquipoBindingSource.Add(new Utils.TipoEquipo() { Value = "MAQ", Descripcion = "MAQUINARIA" });

        }

        private void FrmMttoEquipo_Load(object sender, EventArgs e)
        {
            //disponibleCheckBox.Checked = true;
            //tipoComboBox.ValueMember = "Equipo";
            //tipoComboBox.SelectedIndex = tipoComboBox.FindStringExact("Equipo");
            //groupBox6.Enabled = false;
            //eQUIPOBindingSource.AddNew();
        }
        

        public EQUIPO CurrentEquipo { get; set; }

        public void Nuevo()
        {
            bandera = true;

            eQUIPOBindingSource.AddNew();

            tipoComboBox.SelectedText = "Equipo";
            
        }

        public void Editar()
        {
            bandera = false;
            eQUIPOBindingSource.DataSource = CurrentEquipo;
        }

        //
        private void rbMaquinaria_CheckedChanged(object sender, EventArgs e)
        {
            
        }

        private void rbEquipo_CheckedChanged(object sender, EventArgs e)
        {
            
        }

        private void BtnGuardar_Click(object sender, EventArgs e)
        {
            EQUIPO currentEquipo = eQUIPOBindingSource.Current as EQUIPO;
            if (currentEquipo != null)
            {
                if (bandera == true)
                {
                    equipoBL.AddEquipo(currentEquipo);
                    MessageBox.Show("Registro Correcto", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    Close();
                }
                if (bandera == false)
                {
                    equipoBL.UpdateEquipo(currentEquipo);
                    MessageBox.Show("Modificacion Correcta", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    Close();
                }
            }
        }

        private void txtHTotales_TextChanged(object sender, EventArgs e)
        {

        }

        private void disponibleCheckBox_CheckedChanged(object sender, EventArgs e)
        {

        }

        private void modeloLabel_Click(object sender, EventArgs e)
        {

        }

        private void modeloTextBox_TextChanged(object sender, EventArgs e)
        {

        }

        private void tipoComboBox_SelectedValueChanged(object sender, EventArgs e)
        {

            if (!bandera)
            {
                if (tipoComboBox.SelectedItem == "Maquinaria")
                {
                    groupBox6.Enabled = true;
                }
                else if (tipoComboBox.SelectedItem == "Equipo")
                {
                    groupBox6.Enabled = false;
                }
            }
        }

        private void horasFaltantesTextBox_KeyPress(object sender, KeyPressEventArgs e)
        {
            totalHorasTrabajadasTextBox.Text = "0";
            horasDisponiblesTextBox.Text = horasFaltantesTextBox.Text;

        }

        
    }
}
